var  jwt = require('jsonwebtoken')
var secret = "wh2110-daydayup-YYDS"

exports.createToken = function(data){
    return jwt.sign(data, secret,{expiresIn:'2h'})    //data 需要加密的数据
}

// 校验token 是否有效
const decodeToken = function(token){
    return new Promise(function(resolve,reject){
       jwt.verify(token,secret,(err,data)=>{
        if(err){
            reject(err)
        }else{
            resolve(data)
        }
       }) 
    })
}

exports.decodeToken = decodeToken

//效验 token 是否有效  1. token 不存在 2. 过期 3. 不匹配 4. 匹配成功
exports.checkToken = function(req,res,callback){
    var token = req.headers.token 
    console.log(token)
    if(token){
        decodeToken(token)
        .then(data=>{
            callback(data) 
            // 根据 username 请求接口   next
        })
        .catch(err=>{
            res.json({
                code:3300,
                msg:"token 校验失败,请重新登录",
                type:0
            })
        })
    }else{
        res.json({
            code:3300,
            msg:"token 不存在,请重新登录",
            type:0
        })
    }
}
